package com.yunmai.library.util;

import android.content.Context;
import android.content.SharedPreferences;

/**
 * SharedPreferences帮助类
 * Created by YUNMAI on 2015/8/13.
 */
public class SharedPreferencesUtil {
  /**
   * 获取sp
   *
   * @param spName sp名称
   */
  public static SharedPreferences getSharedPreferences(Context context, String spName) {

    return context.getSharedPreferences(spName, Context.MODE_PRIVATE);
  }

  /**
   * 获取sp对应的编辑器
   *
   * @param spName sp名称
   */
  public static SharedPreferences.Editor getEditor(Context context, String spName) {
    return getSharedPreferences(context, spName).edit();
  }

  /**
   * 清空sp
   *
   * @param spName sp名称
   */
  public static void clear(Context context, String spName) {
    SharedPreferences.Editor editor = getSharedPreferences(context, spName).edit();
    editor.clear();
    editor.commit();
  }

  /**
   * 清空某个key的值
   */
  public static void clearForKey(Context context, String spName, String key) {
    SharedPreferences.Editor editor = getSharedPreferences(context, spName).edit();
    editor.putString(key, "");
    editor.commit();
  }

  /**
   * 存入sp
   *
   * @param spName sp名称
   */
  public static void save(Context context, String spName, String key, String value) {
    SharedPreferences.Editor editor = getSharedPreferences(context, spName).edit();
    editor.putString(key, value);
    editor.commit();
  }

  /**
   * 存入sp
   *
   * @param spName sp名称
   */
  public static void save(Context context, String spName, String key, boolean value) {
    SharedPreferences.Editor editor = getSharedPreferences(context, spName).edit();
    editor.putBoolean(key, value);
    editor.commit();
  }

  /**
   * 从sp取值
   *
   * @param spName sp名称
   */
  public static String get(Context context, String spName, String key) {
    return getSharedPreferences(context, spName).getString(key, "");
  }

  /**
   * 从sp取值
   *
   * @param spName sp名称
   */
  public static boolean getBoolean(Context context, String spName, String key) {
    return getSharedPreferences(context, spName).getBoolean(key, false);
  }

  /**
   * 存入sp
   *
   * @param spName sp名称
   */
  public static void save(Context context, String spName, String key, int value) {
    SharedPreferences.Editor editor = getSharedPreferences(context, spName).edit();
    editor.putInt(key, value);
    editor.commit();
  }

  /**
   * 从sp取值
   *
   * @param spName sp名称
   */
  public static int getInt(Context context, String spName, String key) {
    return getSharedPreferences(context, spName).getInt(key, 0);
  }

  /**
   * 存入sp
   *
   * @param spName sp名称
   */
  public static void save(Context context, String spName, String key, float value) {
    SharedPreferences.Editor editor = getSharedPreferences(context, spName).edit();
    editor.putFloat(key, value);
    editor.commit();
  }

  /**
   * 从sp取值
   *
   * @param spName sp名称
   */
  public static float getFloat(Context context, String spName, String key) {
    return getSharedPreferences(context, spName).getFloat(key, 0f);
  }
}